package cn.getech.data.development.model.vo;

import cn.getech.data.development.utils.spring.CustomerDoubleSerialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

@Data
@ApiModel(value = "CM集群信息")
public class CMClusterVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("cdh版本")
    private String cdhVersion;

    @ApiModelProperty("集群名称")
    private String clusterName;

    @ApiModelProperty("host唯一标识")
    private String hostId;

    @ApiModelProperty("host名称")
    private String hostName;

    @ApiModelProperty("内核")
    private Integer numCores;

    @ApiModelProperty("cup使用率")
    @JsonSerialize(using = CustomerDoubleSerialize.class)
    private Double cpuPercentAcross;

    @ApiModelProperty("物理内存百分比")
    private Double physicalMemoryPercentageUsed;

    @ApiModelProperty("物理内存总量")
    @JsonSerialize(using = CustomerDoubleSerialize.class)
    private Double physicalMemoryTotal;

    @ApiModelProperty("物理内存使用量")
    @JsonSerialize(using = CustomerDoubleSerialize.class)
    private Double physicalMemoryUsed;

    @ApiModelProperty("磁盘百分比")
    private Double diskPercentageUsed;

    @ApiModelProperty("磁盘总量")
    @JsonSerialize(using = CustomerDoubleSerialize.class)
    private Double diskTotal;

    @ApiModelProperty("磁盘使用量")
    @JsonSerialize(using = CustomerDoubleSerialize.class)
    private Double diskUsed;

    @ApiModelProperty("io读")
    @JsonSerialize(using = CustomerDoubleSerialize.class)
    private Double totalReadIosRate;

    @ApiModelProperty("io写")
    @JsonSerialize(using = CustomerDoubleSerialize.class)
    private Double totalWriteIosRate;

}
